package com.oraro.paygatewaybiz.dto;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @Author: jianghuiyong
 * @Date: 2018/11/19 17:26
 * @Version 1.0
 */
@Data
public class PayOrderParam  implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 支付渠道
     */
    @NotNull(message = "商户服务ID不能为空")
    private Long mchId;
    /**
     * 商户订单
     */
    @NotBlank(message = "商户订单号不能为空")
    private String outTradeNo;
    /**
     * 订单总额(单位分)
     */
    @NotNull(message = "订单金额不能为空")
    private Long totalFee;
    /**
     * 订单标题
     */
    @NotBlank(message = "订单标题不能为空")
    private String subject;
    /**
     * 订单描述
     */
    @NotBlank(message = "订单描述不能为空")
    private String body;
    /**
     * 商品详情
     */
    private String goodsDetail;
    /**
     * 交易类型
     * wxpay: JSAPI  NATIVE APP
     */
    @NotBlank(message = "交易类型不能为空")
    private String tradeType;
    /**
     * 第三方openid  WX JSAPI必传
     */
    private String openid;
    /**
     * 商品ID (WX NATIVE 时必填)
     */
    private String productId;
    /**
     * 随机数
     */
    @NotBlank(message = "随机数不能为空")
    private String nonceStr;
    /**
     * 签名
     */
    private String sign;
    /**
     * 交易结束时间
     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date timeEnd;


}
